﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace splashScreen
{
    public partial class Usuario : Form
    {
        public Usuario()
        {
            InitializeComponent();
            ComboSetor();
        }

        private void ComboSetor()
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            comboBox1.DataSource = x.ComboSetor();
            comboBox1.DisplayMember = "Nome";
            comboBox1.ValueMember = "id";

        }
        private void usuarioBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            string  password, tipoUsuarioCombo, username,nome;
            long setor_id;
            try
            {
                if ((nomeTextBox.Text != "" && passwordTextBox.Text != "" && usernameTextBox.Text != ""))
                {
                   
                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
                    
                    password = passwordTextBox.Text;
                    tipoUsuarioCombo = tipoUsuarioComboBox.SelectedItem.ToString();
                    username = usernameTextBox.Text;
                    setor_id = long.Parse(comboBox1.SelectedValue.ToString());
                    nome = nomeTextBox.Text;
                    x.InserirUsuario(password, tipoUsuarioCombo, username, setor_id, nome);
                    MessageBox.Show("Cadastro realizado com sucesso");
                    //this.tableAdapterManager.UpdateAll(this.pDSDDataSet);
                    atualizarGrid();
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível cadastrar: " + ex.Message);
            }

        }

        private void atualizarGrid()
        {
            ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();
            usuarioDataGridView.DataSource = x.SelecionarUsuario();
        }
        
        
        private void Usuario_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'pDSDDataSet.Usuario' table. You can move, or remove it, as needed.
           // this.usuarioTableAdapter.Fill(this.pDSDDataSet.Usuario);
            atualizarGrid();
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            DialogResult resultado = MessageBox.Show("Deseja exluir esse registro?",
                                   "Excluir",
                                   MessageBoxButtons.YesNo,
                                   MessageBoxIcon.Question);

            if (resultado == DialogResult.Yes)
            {
                ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                x.ExcluirUsuario(int.Parse(usuarioDataGridView.CurrentRow.Cells[0].Value.ToString()));
                MessageBox.Show("usuário excluído!");
                atualizarGrid();
            }
            else
            {
                atualizarGrid();
            }
            
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            String password, tipoUsuario, username, nome;
            int setor_id, id;
            try
            {
                if ((nomeTextBox.Text != "" && passwordTextBox.Text != "" && usernameTextBox.Text != ""))
                {
                   
                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                    id = int.Parse(idTextBox.Text);
                    password = passwordTextBox.Text;
                    tipoUsuario = tipoUsuarioComboBox.SelectedItem.ToString();
                    username = usernameTextBox.Text;
                    setor_id = int.Parse(comboBox1.SelectedValue.ToString());
                    nome = nomeTextBox.Text;
                    x.AtualizarUsuario(id,password, tipoUsuario, username, setor_id, nome);
                    MessageBox.Show("Edição realizado com sucesso");
                    this.tableAdapterManager.UpdateAll(this.pDSDDataSet);
                    atualizarGrid();
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível Editar: " + ex.Message);
            }
        }

        private void usuarioDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            idTextBox.Text = usuarioDataGridView.CurrentRow.Cells[0].Value.ToString();
            nomeTextBox.Text = usuarioDataGridView.CurrentRow.Cells[1].Value.ToString();
            passwordTextBox.Text = usuarioDataGridView.CurrentRow.Cells[5].Value.ToString();
            usernameTextBox.Text = usuarioDataGridView.CurrentRow.Cells[2].Value.ToString();

        }

        private void usuarioBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
        {
            string password, tipoUsuario, username, nome;
            long setor_id;
            try
            {
                if ((nomeTextBox.Text != "" && passwordTextBox.Text != "" && usernameTextBox.Text != ""))
                {
                   
                    ServiceReference1.Service1SoapClient x = new ServiceReference1.Service1SoapClient();

                    //id = int.Parse(idTextBox.Text);
                    password = passwordTextBox.Text;
                    tipoUsuario = tipoUsuarioComboBox.SelectedItem.ToString();
                    username = usernameTextBox.Text;
                    setor_id = long.Parse(comboBox1.SelectedValue.ToString());
                    nome = nomeTextBox.Text;
                    x.InserirUsuario(password, tipoUsuario, username, setor_id, nome);
                    MessageBox.Show("Cadastro realizado com sucesso");
                    atualizarGrid();
                }
                else
                {
                    MessageBox.Show("Todos os campos devem ser preenchidos");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Não foi possível Cadastrar: " + ex.Message);
            }
        }
    }
}
